home *** CD-ROM | disk | FTP | other *** search
/ Plug-In Power Pack for Netscape Communicator / Plug-In Power Pack for Netscape Communicator.iso / plugins / dataviews / include / dvenv.h < prev    next >
C/C++ Source or Header  |  1997-05-08  |  14KB  |  436 lines

  1. /* file -- dvenv.h
  2. |======================================================================
  3. |
  4. |               (c) copyright 1988
  5. |                V.I. Corporation
  6. |
  7. |    dvenv - includes that are operating system specific, and which
  8. |        define the attributes of the OS and the hardware.
  9. |        This file should be the only include file that is
  10. |        different from machine to machine.
  11. |
  12. |    Alan C Morse        23 May 89
  13. |
  14. |=====================================================================
  15. */
  16. #ifndef    _DVENV_H_
  17. #define    _DVENV_H_
  18.  
  19. /* ------------------------------------------------------------ */
  20. /*        Machine / OS definitions.
  21. Defines which system the code is being compiled on.  Each define
  22. should have a different value, and all inappropriate ones
  23. should be commented out.
  24. Ideally, these should not be directly refered to, but should be
  25. used to define attributes that describe the os, not which OS it is.
  26. */
  27. /* MANUFACTURER */
  28. /* #define APOLLO */
  29. /* #define DECSTATION */
  30. /* #define HP300 */
  31. /* #define HP400T */
  32. /* #define HP700 */
  33. /* #define HP800 */
  34. /* #define INTEL386 */
  35. #define INTEL486
  36. /* #define MASSCOMP */
  37. /* #define MITSUBISHI */ /* ME400 */
  38. /* #define NEC */
  39. /* #define OKIDATA860 */
  40. /* #define RS6000 */
  41. /* #define SONY */
  42. /* #define SUN3 */
  43. /* #define SUN4  */
  44. /* #define SUN386i */
  45. /* #define TEK88 */
  46. /* #define VAXSTATION */
  47. /* #define DG300 */
  48. /* #define CETIA */
  49. /* #define SG_ECLIPSE */
  50. /* #define SEQUENT */
  51.  
  52.  
  53. #ifdef INTEL486
  54. #ifndef __STDC__
  55. #define __STDC__  1
  56. #endif
  57. #endif
  58. /* OS NAME/VERSION = 100 * NameDef + VersionDef*/
  59. /* #define AEGIS        100 */
  60. /* #define AEGIS_9_7    (AEGIS+1) */
  61. /* #define AEGIS_10    (AEGIS+2) */
  62.  
  63. /* #ifdef AIX */
  64. /* #undef AIX */
  65. /* #endif */
  66. /* #define AIX             200  */
  67. /* #define AIX_1_1         (AIX+1) */
  68. /* #define AIX_3           (AIX+3) */
  69.  
  70. /* #define AUX        300 */
  71.  
  72. /* #define BSD        400             */
  73. /* #define BSD_4_1        (BSD+1) */
  74. /* #define BSD_4_2        (BSD+2) */
  75. /* #define BSD_4_3        (BSD+3) */
  76.  
  77. /* #define HPUX        500 */
  78. /* #define HPUX_6_2    (HPUX+1) */
  79. /* #define HPUX_6_5    (HPUX+2) */
  80. /* #define HPUX_7       (HPUX+3) */
  81. /* #define HPUX_8       (HPUX+4) */
  82.  
  83. /* Interactive Systems Corporation Unix for 386/486 machines */
  84. /* #define ISC_UNIX    600 */
  85. /* #define ISC_UNIX_2_0_1    (ISC_UNIX+1) */
  86.  
  87. /* #define RTU        700 */
  88. /* #define RTU_3_1        (RTU+1) */
  89. /* #define RTU_4_0        (RTU+2) */
  90. /* #define RTU_4_0A    (RTU+3) */
  91. /* #define RTU_6_0 (RTU+6) */     /* masscomp ver 6.0 op sys */
  92.  
  93. /* #ifndef SUNOS                 */
  94. /* #define SUNOS        800 */
  95. /* #endif                           */
  96. /* #define SUNOS_3_5    (SUNOS+1) */
  97. /* #define SUNOS_4_0    (SUNOS+2) */
  98. /* #define SUNOS_4_0_1    (SUNOS+3) */
  99. /* #define SUNOS_4_0_3    (SUNOS+4) */
  100. /* #define SUNOS_4_1    (SUNOS+5) */
  101.  
  102. /* #ifndef SYSV */
  103. /* #define SYSV        900 */
  104. /* #endif */
  105. /* #define SYSV_2        (SYSV+1) */
  106. /* #define SYSV_3        (SYSV+2) */
  107. /* #define SYSV_4        (SYSV+3) */
  108.  
  109. /* #define ULTRIX        1000 */
  110.  
  111. /* #define UTEKV    1100 */
  112. /* #define UTEKV_3_2A    (UTEKV+1) */
  113.  
  114. /* #define VMS        1200 */
  115. /* #define VMS_4_6        (VMS+1) */
  116. /* #define VMS_5_0        (VMS+2) */
  117. /* #define VMS_5_1        (VMS+3) */
  118.  
  119. /* Santa Cruz Operation (SCO) Unix for 386/486 machines */
  120. /* #define SCO_UNIX    1300 */
  121.  
  122.  
  123. /* windows NT 3.1 */
  124. #define WINNT 1400
  125.  
  126. /* ------------------------------------------------------------ */
  127. /*    CPU type                        */
  128. /* #define M68K */    /* Motorola 68000 class CISC CPU */
  129. /* #define M88K  */    /* Motorola 88000 class RISC CPU */
  130. /* #define SPARC  */    /* Sun SPARC RISC CPU */
  131. #define I80386          /* Intel 80386 CISC CPU */
  132. /* #define I860 */    /* i860 processor */
  133. /* #define MIPS_RISC */ /* MIPS RISC CPU (DECstation 3100) */
  134. /* #define IBM_RISC */  /* RISC cpu used in rs/6000 */
  135. /* #define PA_RISC */    /* hp's precision architecture risc chip */
  136.  
  137. /* ------------------------------------------------------------ */
  138. /*            ENVIRONMENT ATTRIBUTES            */
  139. /* ------------------------------------------------------------ */
  140.  
  141. /* ------------------------------------------------------------ */
  142. /*            BYTE ORDER FLAG
  143. One of the two following parameters should be defined, indicating
  144. in which order bytes are stored in a long.
  145. */
  146. #define BYTE_ORDER_4321
  147. /* #define BYTE_ORDER_1234 */
  148.  
  149. /* ------------------------------------------------------------ */
  150. /*        Compiler Supports cdecl keyword???
  151. For compilers that support the keyword "cdecl", _CDECL
  152. should be defined to cdecl.  Otherwise, _CDECL should
  153. be defined to nothing.  That is, one of the two following
  154. defines should be uncommented.
  155. */
  156. #ifndef    _CDECL
  157. /* #define    _CDECL    cdecl */
  158. #define    _CDECL
  159. #endif    /* _CDECL */
  160.  
  161. /* ------------------------------------------------------------ */
  162. /*        Compiler Supports function prototypes ????
  163. If the compiler supports function prototypes, then LINT_ARGS
  164. should be defined.  Otherwise comment out the define.
  165. */
  166. /* #define    LINT_ARGS */
  167.  
  168. /* ------------------------------------------------------------ */
  169. /*    Compiler has memory models supporting memory models???
  170. The keywords "near" and "far" are defined out of existance for
  171. compilers that don't need memory models.
  172. If the system has NO near and far pointers, the following define
  173. should be commented out.
  174. */
  175. /* #define MEMORY_MODEL */
  176.  
  177. /* ------------------------------------------------------------ */
  178. /*    Is upper/lower case significant to the file system???
  179. If there is NO distinction between upper and lower case, the following
  180. define should be commented out.
  181. */
  182. #define    FS_CASE_SIG    1
  183.  
  184. /* ------------------------------------------------------------ */
  185. /*        DataViews version number
  186. Multiplied by 100.
  187. */
  188. #define DVVERSION 970
  189.  
  190. /* ------------------------------------------------------------ */
  191. /*    should we use DataViews 8.0 compatability defines
  192. */
  193. #define V_8TO9_COMPATIBILITY
  194.  
  195. /* ------------------------------------------------------------ */
  196. /*    Does the system have a bsearch function?
  197. If it does, comment out the following define.
  198. */
  199. #define NO_BSEARCH
  200.  
  201. /* ------------------------------------------------------------ */
  202. /*      Does this system have a log2 functions?
  203. If it does, comment out the following define.
  204. */
  205. #define NO_LOG2
  206.  
  207. /* ------------------------------------------------------------ */
  208. /*    Does the system have a gmtime function?
  209. If it does, comment out the following define.
  210. */
  211. #define NO_GMTIME
  212.  
  213. /* ------------------------------------------------------------ */
  214. /*    Does the system have an ilogb function?
  215. If it does, comment out the following define.
  216. */
  217. #define NO_ILOGB_FUNC
  218.  
  219. /* ------------------------------------------------------------ */
  220. /*    Does the system have an isnam function?
  221. If it does, comment out the following define.
  222. */
  223. #define NO_ISNAN_FUNC
  224.  
  225. /* ------------------------------------------------------------ */
  226. /*    Does the system have an isinf function?
  227. If it does, comment out the following define.
  228. */
  229. #define NO_ISINF_FUNC
  230.  
  231. /* ------------------------------------------------------------ */
  232. /*    Does the system have a finite function?
  233. If it does, comment out the following define.
  234. */
  235. #define NO_FINITE_FUNC
  236.  
  237. /* ------------------------------------------------------------ */
  238. /*    Does the system have a zero function?
  239. If it does, comment out the following define.
  240. */
  241. #define NO_ISZERO_FUNC
  242.  
  243. /* ------------------------------------------------------------ */
  244. /*    Does the system have an aint function?
  245. If it does, comment out the following define.
  246. */
  247. #define NO_AINT_FUNC
  248.  
  249. /* ------------------------------------------------------------ */
  250. /*    Does the system have a signbit function?
  251. If it does, comment out the following define.
  252. */
  253. #define NO_SIGNBIT_FUNC
  254.  
  255. /* ------------------------------------------------------------ */
  256. /*    Does the system have the include file dirent.h
  257. for defining the structure for a directory and its entries.
  258. If it does, uncomment the following define.
  259. */
  260. /* #define HAS_DIRENT_H */
  261.  
  262. /* ------------------------------------------------------------ */
  263. /*    Does the system have a select function
  264. If it does, uncomment the following define.
  265. */
  266. /* #define HAS_SELECT_FUNC */
  267.  
  268. /* ------------------------------------------------------------ */
  269. /*    Does the system have a microsleep (usleep) function
  270. If it does, uncomment the following define.
  271. */
  272. /* #define HAS_USLEEP_FUNC */
  273.  
  274. /* ------------------------------------------------------------ */
  275. /*    Does the system have the random # generator random()
  276. If it does, uncomment the following define.
  277. */
  278. /* #define HAS_RANDOM_FUN */
  279.  
  280. /* ----------------------------------------------------------- */
  281. /*    Does the system use the variable etext to record the end
  282. of the code segment? If it does, uncomment the following define.
  283. */
  284. /* #define HAS_ETEXT */
  285.  
  286. /* ----------------------------------------------------------- */
  287. /*    Does the system have 16 bit integers.
  288. If it does, uncomment the following define.
  289. */
  290. /* #define INT_IS_16_BITS */
  291.  
  292. /* ----------------------------------------------------------- */
  293. /*    Does the system have stdlib.h (declaring getenv, etc.)
  294. If it does, uncomment the following define.
  295. */
  296. #define HAS_STDLIB
  297.  
  298. /* ------------------------------------------------------------*/
  299. /*    Does the system have string.h or strings.h?  Uncomment
  300. the appropriate define
  301. */
  302. #define HAS_STRING_H
  303. /* #define HAS_STRINGS_H */
  304.  
  305. /* ------------------------------------------------------------ */
  306. /*    Compiler rounds down or towards zero???
  307.  If the compiler generates code that rounds down (as opposed to
  308.  towards zero) when doing integer division, then ROUND_DOWN should
  309.  be defined.  If the compiler generates code that rounds towards zero,
  310.  then the define should be commented out.
  311.  (Note that this makes a difference only for negative numbers.)
  312. */
  313. /* #define ROUND_DOWN */
  314.  
  315. /* ------------------------------------------------------------ */
  316. /* If using Interactive, use int for the last parameter of the
  317.    S_OPEN
  318. */
  319. /* #define OPEN_MODE_T mode_t */
  320. /* #define OPEN_MODE_T int */
  321.  
  322. /* ------------------------------------------------------------ */
  323. /*      Are you using the generic MIT version of X11??          */
  324. /* #define X11MIT */
  325.  
  326. /* ------------------------------------------------------------ */
  327. /*      If using the X Window System Version 11,                */
  328. /*        what is the X11 Release number??                      */
  329. /* #define X11RELEASE 4 */
  330.  
  331. /* ------------------------------------------------------------ */
  332. /*      If using the X Intrinsics,                              */
  333. /*        what is the Xt Release number??                       */
  334. /* #define XTVERSION  X11RELEASE */
  335.  
  336. /* ------------------------------------------------------------ */
  337. /*      Is an X widget set supported??                          */
  338. /*  If an X widget set is supported on this machine,            */
  339. /*  uncomment the appropriate line                              */
  340.  
  341. /* #define HAS_MOTIF     */
  342. /* #define HAS_OPENLOOK  */
  343.  
  344. /* MOTIFVERSION = Motif Version * 110 */
  345. #ifdef HAS_MOTIF
  346. #  define MOTIFVERSION 110 /* Motif Version 1.1 */
  347. #endif
  348.  
  349. /* default X-Designer version for validate.x */
  350. /* #define DEFAULT_XDESIGNER_VERSION 3.2 */
  351.  
  352. /*==============================================================*/
  353. /*      DATABASE configuration definitions.                     */
  354. /* ------------------------------------------------------------ */
  355. /*      Is SYBASE supported on this platform?                   */
  356. /* #define HAS_SYBASE */
  357.  
  358. /*==============================================================*/
  359. /*      Internationalization. Foreign language support.         */
  360. /* ------------------------------------------------------------ */
  361. /*  Uncomment the following definition if we should use the     */
  362. /*  VIctype functions instead of the system macros.  This cover */
  363. /*  the macros like isalpha, isprint, isdigit.  In the V.I.     */
  364. /*  source, these macros are written S_ISALPHA, S_ISPRINT,      */
  365. /*  S_ISDIGIT, etc.  They are defined in dvctype.h to be the    */
  366. /*  system version of the macros OR VI's versions: VIisprint    */
  367. /*  VIisalpha, VIisdigit, etc.  The reason for using VI's       */
  368. /*  versions would be if the system versions are NOT properly   */
  369. /*  internationalized.  (This happens to be true for VMS 5.4.3  */
  370. /*  where isprint does not give the correct result for European */
  371. /*  characters where the high bit is set.)                      */
  372.  
  373. /* #define USE_VI_CTYPES */
  374.  
  375. /* ------------------------------------------------------------ */
  376. /*  Uncomment the appropriate country/language definition.      */
  377.  
  378. #define LANG_USA
  379. /* #define LANG_JAPAN */
  380.  
  381. /*--------------------------------------------------------------
  382. |  Explanations:
  383. |    MULTIBYTE_CHARS means that the character set
  384. |        includes multibyte characters.
  385. |    HAS_NLS means that the system supports HP's NLS
  386. |        (Native Language support). refers also
  387. |        to a class of support routines. Contrast with
  388. |        NLS below, which refers to a character set type.
  389. |
  390. |    Multibyte character Input Codes
  391. |    SJIS is Shift-JIS, another japanese kanji standard.
  392. |    EUC is "Extended Unix Code" and multi-byte input code.
  393. |    NLS is HP's Native Language support.
  394. |
  395. |    Multibyte character Output Codes
  396. |    JIS is a japanese kanji standard.
  397. */
  398.  
  399. #ifdef LANG_USA
  400. #  define USASCII
  401. #endif
  402.  
  403. #ifdef LANG_JAPAN
  404. #  define MULTIBYTE_CHARS
  405. #  define JIS
  406. /*#  define NLS*/
  407. #  define EUC
  408. /*#  define SJIS*/
  409. #endif
  410.  
  411. #ifdef NLS
  412. #  define HAS_NLS
  413. #endif
  414.  
  415. /*============= End Internationalization =======================*/
  416. /*==============================================================*/
  417.  
  418. /*============= Sun Shared Library support =====================*/
  419. #if defined(SUN3) || defined(SUN4) || defined(SUN386i)
  420. #  define SUN_SHLIB
  421. #endif
  422.  
  423. /*============= End Sun Shared Library support =================*/
  424.  
  425. /*=============== HP Starbase support ==========================*/
  426.  
  427. /* ----------------------------------------------------------- */
  428. /*    If you want to run starbase under X on an HP system,
  429. uncomment the following define.
  430. */
  431. /* #define HP_STARBASE_IN_X */
  432.  
  433. /*=============== End HP Starbase support ======================*/
  434.  
  435. #endif /* DVENV_H */
  436.